﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

using PickGold.Arguments;

namespace PickGold.Handler
{
	/// <summary>
	/// 尝试方法
	/// </summary>
	[Serializable]
	[ComVisible(true)]
	public delegate bool TryGetHandler<I, O>(I input, ref O output);

	/// <summary>
	/// 尝试方法
	/// </summary>
	[Serializable]
	[ComVisible(true)]
	public delegate bool TryGetHandler<K, I, O>(K key, I input, ref O output);

	/// <summary>
	/// 尝试方法
	/// </summary>
	[Serializable]
	[ComVisible(true)]
	public delegate bool TryOutHandler<I, O>(I input, out O output);

	/// <summary>
	/// 尝试方法
	/// </summary>
	[Serializable]
	[ComVisible(true)]
	public delegate bool TryOutHandler<K, I, O>(K key, I input, out O output);
}
